package com.luo.auth.service;

import com.luo.auth.pojo.TokenObj;

public interface TokenService {
	/**
     * 创建一个token关联上指定用户
     * @param id 指定用户的id
     * @param source 来源，0：用户登录，1：自媒体登录
     * @return 生成的token
     */
    TokenObj createToken(long id, int source);

    /**
     * 检查token是否有效
     * @param model token
     * @return  (0:token错误，1:验证通过，2:验证码不一致)
     */
    int checkToken(TokenObj model);

    /**
     * 从字符串中解析token
     * @param authentication 加密后的字符串
     * @return
     */
    TokenObj getToken(String authentication);

    /**
     * 清除token
     * @param userId 登录用户的id
     */
    void deleteToken(String key);
}
